package practice.Day5;

/**
 * @Author quan
 * @Description 统计回文串个数:没写出来：有一点思路但是写不出来
 * @Date 2023/5/12 9:14
 */

import java.util.Scanner;

/**
 * 要求：输入数据是两行。第一行为字符串A，第二行是字符串B。字符串的长度均小于100且只有小写字母。
 * 输出：一个数字，表示将字符串B插入到字符串A之后构成回文串的方法数量。
 */
public class Num1_PalindromicCount {
//    public static void main(String[] args) {
//       //思路给定一个字符串，判断该字符串是不是回文,只需要将字符串逆序后判断是否原字符串相等即可
//        String str1 = "aa";
//        String str2 = "a";
//        int res = insertBtoA(str1,str2);
//        System.out.println(res);
//    }
//
//    /**--------这里要记住，之前一点也不知道------
//     * 将字符串B插入到字符串A中，获得不同情况下的字符串。通过StringBuilder的insert(i,str)
//     * @param str1
//     * @param str2
//     */
//    private static int insertBtoA(String str1,String str2) {
//        int count = 0;
    //注意这里是可以取到字符串的长度位置的！
//        for (int i = 0; i <= str1.length(); i++) {
//            StringBuilder newStr = new StringBuilder(str1);
//            newStr.insert(i,str2);
//
//            boolean res = isPalindromic(String.valueOf(newStr));
//            System.out.println(res);
//            if(res){
//                count++;
//            }
//        }
//        return count;
//    }
//
//    /**
//     * 输入一个字符串判断是不是回文，返回布尔值
//     * @param str
//     * @return
//     */
//    private static boolean isPalindromic(String str) {
//        //将字符串逆序
//        int mid = str.length()/2;
//        for (int i = 0; i < mid; ) {
//            for (int j = str.length()-1; j >= mid ;) {
//                if(str.charAt(i) != str.charAt(j)){
//                    return false;
//                }else{
//                    i++;
//                    j--;
//                }
//            }
//        }
//        return true;
//    }

    //简化写法：直接调用StringBuilder的内置函数：Insert和reverse来解决问题
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1 = sc.nextLine();
        String str2 = sc.nextLine();
        int count = 0;
        for (int i = 0; i <= str1.length(); i++) {
            //1、创建一个容器用来存储str1的值，每次都是新创建，保存的是原始值
            StringBuilder sb = new StringBuilder(str1);
            //2、将字符串2的值插入到新的字符串1中
            sb.insert(i,str2);
            //3、将新的字符串保存到容器中
            StringBuilder tmp = new StringBuilder(sb);
            //4、判断插入后的新的字符串是不是回文串
            if(tmp.reverse().toString().equals(tmp.toString())){
                count++;
            }
        }
        System.out.println(count);
    }
}
